# 定义凯撒解密函数
def caesar_decrypt(ciphertext):
    decrypted_texts = []  # 存储所有可能的解密结果

    # 遍历所有可能的移位值（0-25）
    for shift in range(26):
        decrypted = []  # 存储当前移位下的解密结果
        for char in ciphertext:
            if char.isalpha():  # 检查字符是否为字母
                # 确定字母的偏移量（大写字母为65，小写字母为97）
                offset = 65 if char.isupper() else 97
                # 应用移位并处理循环（使用模26）
                decrypted_char = chr((ord(char) - offset - shift) % 26 + offset)
                decrypted.append(decrypted_char)
            else:
                decrypted.append(char)  # 非字母字符保持不变
        decrypted_texts.append((shift, ''.join(decrypted)))  # 将当前移位的结果添加到列表中

    return decrypted_texts  # 返回所有可能的解密结果

if __name__ == "__main__":
    # 输入凯撒密码文本
    ciphertext = input("输入凯撒密码文本: ")
    decrypted_results = caesar_decrypt(ciphertext)  # 调用解密函数

    # 打印所有可能的解密结果
    for shift, text in decrypted_results:
        print(f"移位 {shift}: {text}")
